草庐IT

iOS UIScrollView 性能

全部标签

Java 集合与内存数据库性能

我不确定是使用Java集合还是某些内存数据库(H2或HSQLDB-它们可能是最快的)。我需要一个好的性能结果-将有数百个对象/行,不会执行JOIN或更复杂的查询。我真的在考虑内存数据库,因为java堆的大小有限——我正在使用的对象可能非常大,而且会有很多(我提到的有数百个)您认为对大量数据使用内存数据库是个好主意吗? 最佳答案 数百个10KB的对象仍然只有几MB。保持简单是我的建议。数十万个1KB的对象仍然可以轻松放入32位JVM。在您处理GB级数据之前,我不会使用内存数据库。如果您有数百GB,您唯一的选择是使用某种数据库。免责声明

Java - 接口(interface)/基类引用 - 性能

这是在声明对象时使用接口(interface)/基类引用的一般编码实践:InterfaceIFref=newSomeObject();我知道这提供了松耦合,我们可以更改/编写具有新实现的新类,而不会影响太多代码。这个解释的很精彩herealso.但是我无法理解的一件事是:使用接口(interface)/基类引用是否会影响性能。如果是,那么这是正面影响还是负面影响。 最佳答案 直接使用类可能会更快,绝不会更慢。如果JVM看到一个具体的类,它就会知道“要调用谁”。不一定完全因为可能有子类,除非该类是最终的。甚至可能还有JVM尚未看到的子

java - 比较 Collectors.summingLong 和 Collectors.counting 的性能

基准测试在intelcorei5,Ubuntu下运行javaversion"1.8.0_144"Java(TM)SERuntimeEnvironment(build1.8.0_144-b01)JavaHotSpot(TM)64-BitServerVM(build25.144-b01,mixedmode)我正在比较Collectors.counting和Collectors.summingLong(x->1L)的性能。这是基准:publicListints=newArrayList();Collectorcounting=Collectors.counting();Collectorsu

java - JSR-292(invokedynamic)对 Groovy 性能有多大影响?

是否有估计表明JSR-292将对Groovy性能产生多大影响? 最佳答案 invokedynamic确实是一个复杂的故事,因为性能特征在JDK7中一直在变化。在将Groovy移植到Indy期间,我真的非常接近Java,大约是1.5倍。但是我必须使用catchExceptionGuard,它将性能降低到3-4倍之类的水平。我们仍然需要研究避免使用该守卫的方法。也许我们必须为此破坏Groovy2.2中的一些现有代码。无论如何,我不需要如上所述的invokeMethod回退守卫。它适用于可能包含其他异常的GroovyRuntimeExce

java - java中的 "extends"和 "implements"在性能和内存等方面有什么区别

Java中的extends和implements在性能和内存等方面有什么区别?例如采取以下场景,1)publicinterfacePrintResult{publicfinalintNO_ERROR=0;publicfinalintSUCCESS=1;publicfinalintFAILED=-1;}publicclassPrintProcessimplementsPrintResult{//Performsomeoperation}2)publicclassPrintResult{publicfinalintNO_ERROR=0;publicfinalintSUCCESS=1;pub

java - 使用 lambda 表达式是否可以提高性能?

我有一个需求,检查两个列表中是否有共同的元素。我想出了两种方法来做到这一点:方法01:循环privatebooleanfunc01(Listlist1,Listlist2){for(Stringgroup:list1){for(StringfuncGroup:list2){if(group.equals(funcGroup)){returntrue;}}}returnfalse;}方法02:Lambdaprivatebooleanfunc02(Listlist1,Listlist2){returnlist1.stream().filter(list2::contains).findAn

java - Terracotta 的性能和技巧

大约一个月前发现Terracotta后,我刚刚开始学习如何使用它。这是一项非常酷的技术。基本上我想做的是:我的根(记录系统)是一个ConcurrentHashMap。主要的Instrumented类是一个“JavaBean”,它有30个左右的字段,我希望它们存在于HashMap中。Hashmap中大约有20000个这样的JavaBean。每个bean有(至少)5个字段,每5秒更新一次。(我为此使用Terracotta的原因是因为这些JavaBeans需要可以跨JVM和节点访问。)谁有比我更丰富的TC经验?性能是关键。还有其他类似应用的例子吗? 最佳答案

java - JDBC连接池的性能比较

有没有人有比较不同ConnectionPool实现的性能特征的信息?背景:我有一个应用程序在后台线程中运行数据库更新到同一个盒子上的mysql实例。使用数据源com.mchange.v2.c3p0.ComboPooledDataSource会给我们偶尔的SocketExceptions:com.mysql.jdbc.CommunicationsException:由于底层异常导致通信链接失败:**BEGINNESTEDEXCEPTION**java.net.SocketExceptionMESSAGE:BrokenpipeSTACKTRACE:java.net.SocketExcept

Java:性能优化细节01-10

Java:性能优化细节01-10在Java程序开发过程中,性能优化是一个重要的考虑因素。常见的误解是将性能问题归咎于Java语言本身,然而实际上,性能瓶颈更多地源于程序设计和代码实现方式的不当。因此,培养良好的编码习惯不仅对提升程序性能至关重要,同时也有助于增强代码的可读性和可维护性。1、尽量在合适的场合使用单例使用单例模式是一种有效的设计策略,用于在整个应用程序中管理资源的使用、实例的创建以及数据的共享。这种模式通过确保一个类只有一个实例,并提供一个全局访问点来访问该实例,可以在多种情况下提高效率和性能。不过,单例模式的应用需要根据具体场景谨慎考虑,因为不恰当的使用可能会带来一些问题,如过度

java - 使用 CDI 的性能影响

我正在编写一个JavaEE6Web应用程序,我注意到使用注入(inject)的对象与直接创建和使用该对象相比对性能有显着影响。每个方法调用的开销似乎约为50-60毫秒。例如,使用非注入(inject)的150次方法调用大约需要500毫秒,而使用注入(inject)对象的150次方法调用需要12,000-13,000毫秒。一个数量级的差异,然后是一些。这正常吗?我在JBossAS7.1.1final上运行,它使用Weld来处理CDI。注入(inject)的对象被定义为单例bean(通过javax.ejb.Singleton注释)。这会导致部分问题吗?还是只是Weld代理导致了速度下降?